A nonvolatile memory device within a particular macro may have different optimal programming conditions, such as programming time, voltage, current, etc., based on variation and location. To optimize the nonvolatile memory device, calibration is often used to address these variation issues, and achieved by changing the conditions along a column/row.
Referring to FIG. 1, FIG. 1 shows waveforms of calibration of writing time of a nonvolatile memory device according to a prior art. Time points Tw, start and Tw, end in FIG. 1 are respectively a start time and an end time of a bit signal pulse Wcol, and a difference between the time points Tw, start and Tw, end equals twrite, representing a period of writing the nonvolatile memory device. For a particular programming condition, the bit signal pulse Wcol is calibrated with a tcal, and then the period of writing the nonvolatile memory device is changed from twrite to twrite+tcal, as indicated by the dotted waveform shown in FIG. 1.
Referring to FIG. 2, FIG. 2 shows waveforms of calibration of voltage of a nonvolatile memory device according to a prior art. Similar to FIG. 1, voltages VWL, and VBL in FIG. 2 respectively are voltage of a word/bit signal pulse. For a particular programming condition, the bit signal pulse Wcol is calibrated with a Vcal, and then the voltage of writing the nonvolatile memory device is changed from VBL to VBL+Vcal for each column, as indicated by the dotted waveform shown in FIG. 2.
Referring to FIG. 5, FIG. 5 shows a diagram of cell units of a nonvolatile memory device according to an embodiment of the present invention, each block in FIG. 5 represents a difference value from the optimal writing time, such as in the top row, the difference values are +2, +3, +3, that is, the differences between the writing time now and the optimal writing time are +2, +3, +3 time units respectively.
After being calibrated in the column direction, as shown in FIG. 6, with calibration values of −1, −2, −2 from left to right, the top row now has differences from the optimal writing times being +1, +1, +1 time units respectively, while the two rows below have differences of 0, 0, −1, and 0, −2, 0 respectively.
However, the calibration along the column direction may not adjust the writing time efficiently and accurately enough for the optimal programming condition. Thus, a nonvolatile memory device and calibration method thereof providing more efficient calibration for optimal programming conditions is needed to improve programming performance.